package models

import "time"

type SeedVariant struct {
	// 种子型号ID
	ID int `gorm:"column:id;PRIMARY_KEY;AUTO_INCREMENT" json:"id"`
	// 创建时间
	CreatedAt *time.Time `gorm:"column:created_at;type:timestamp" json:"created_at"`
	// 更新时间
	UpdatedAt *time.Time `gorm:"column:updated_at;type:timestamp" json:"updated_at"`

	SeedVariantCore
}

type SeedVariantCore struct {
	// 种子型号名称
	Name string `gorm:"column:name" json:"name"`
	// 种子类别ID
	CategoryID int `gorm:"column:category_id" json:"category_id"`
	// 备注
	Remark string `gorm:"column:remark" json:"remark"`
	// 是否启用:0-禁用,1-启用
	IsActive int `gorm:"column:is_active" json:"is_active"`
}

type SeedVariantDetail struct {
	SeedVariant

	// 种子类别名称
	CategoryName string `gorm:"column:category_name" json:"category_name"`
}

type SeedVariantDelta struct {
	// 种子型号名称
	Name interface{} `gorm:"column:name" json:"name" swaggertype:"string"`
	// 种子类别ID
	CategoryID interface{} `gorm:"column:category_id" json:"category_id" swaggertype:"integer"`
	// 备注
	Remark interface{} `gorm:"column:remark" json:"remark" swaggertype:"string"`
	// 是否启用:0-禁用,1-启用
	IsActive interface{} `gorm:"column:is_active" json:"is_active" swaggertype:"integer"`
}

func (SeedVariant) TableName() string {
	return "seed_variant"
}
